/**
* @author xy
* @Date 2024-01-08 10:38:29
* @description  抖音视频列表
*/
package cn.jobstart.model;

import cn.jobstart.pubInter.BaseTimeDoMain;
import java.util.Date;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class DouyinVideo extends BaseTimeDoMain {
    /**
     * 来源
     */
    private Integer source;

    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 点赞数
     */
    private Integer diggCount;

    /**
     * 下载数
     */
    private Integer downloadCount;

    /**
     * 播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     */
    private Integer playCount;

    /**
     * 分享数
     */
    private Integer shareCount;

    /**
     * 转发数
     */
    private Integer forwardCount;

    /**
     * 评论数
     */
    private Integer commentCount;

    /**
     * 媒体类型
     * 2:图集:image,4:视频:video
     */
    private Integer mediaType;

    /**
     * 视频id
     */
    @Length(max=200,message="视频id长度最大值200")
    private String itemId;

    /**
     * 视频标题
     */
    @Length(max=200,message="视频标题长度最大值200")
    private String title;

    /**
     * 视频封面
     */
    @Length(max=400,message="视频封面长度最大值400")
    private String cover;

    /**
     * 是否置顶
     * 1:置顶:top,0:未置顶:un_top
     */
    private Integer topFlag;

    /**
     * 视频创建时间戳
     */
    private Date videoCreateTime;

    /**
     * 表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     * 0:未通过或审核中:n,1:审核通过:y
     */
    private Integer reviewedFlag;

    /**
     * 表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     * 1:已发布:Published,2:不适宜公开:Not_Suitable,4:审核中:Under_Review
     */
    private Integer videoStatus;

    /**
     * 视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     */
    @Length(max=400,message="视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。长度最大值400")
    private String shareUrl;

     /**
     *主键
     */
    public static final String ID = "douyin_video.dv_id";

     /**
     *来源
     */
    public static final String SOURCE = "douyin_video.dv_source";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "douyin_video.dv_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "douyin_video.dv_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "douyin_video.dv_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "douyin_video.dv_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "douyin_video.dv_del_flag";

     /**
     *版本
     */
    public static final String VERSION = "douyin_video.dv_version";

     /**
     *点赞数
     */
    public static final String DIGG_COUNT = "douyin_video.dv_digg_count";

     /**
     *下载数
     */
    public static final String DOWNLOAD_COUNT = "douyin_video.dv_download_count";

     /**
     *播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     */
    public static final String PLAY_COUNT = "douyin_video.dv_play_count";

     /**
     *分享数
     */
    public static final String SHARE_COUNT = "douyin_video.dv_share_count";

     /**
     *转发数
     */
    public static final String FORWARD_COUNT = "douyin_video.dv_forward_count";

     /**
     *评论数
     */
    public static final String COMMENT_COUNT = "douyin_video.dv_comment_count";

     /**
     *媒体类型
     */
    public static final String MEDIA_TYPE = "douyin_video.dv_media_type";

     /**
     *视频id
     */
    public static final String ITEM_ID = "douyin_video.dv_item_id";

     /**
     *视频标题
     */
    public static final String TITLE = "douyin_video.dv_title";

     /**
     *视频封面
     */
    public static final String COVER = "douyin_video.dv_cover";

     /**
     *是否置顶
     */
    public static final String TOP_FLAG = "douyin_video.dv_top_flag";

     /**
     *视频创建时间戳
     */
    public static final String VIDEO_CREATE_TIME = "douyin_video.dv_video_create_time";

     /**
     *表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     */
    public static final String REVIEWED_FLAG = "douyin_video.dv_reviewed_flag";

     /**
     *表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     */
    public static final String VIDEO_STATUS = "douyin_video.dv_video_status";

     /**
     *视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     */
    public static final String SHARE_URL = "douyin_video.dv_share_url";

     /**
     *填充detail key
     */
    public static final String DOUYIN_VIDEO_FULL_DETAIL_KEY = "DOUYIN_VIDEO_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String DOUYIN_VIDEO_FULL_LIST_KEY = "DOUYIN_VIDEO_FULL_LIST";

    /**
     * 获取来源
     *
     * @return dv_source - 来源
     */
    public Integer getSource() {
        return source;
    }

    /**
     * 设置来源
     *
     * @param source 来源
     */
    public DouyinVideo setSource(Integer source) {
        this.source = source;
        return this;
    }

    /**
     * 获取排序
     *
     * @return dv_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public DouyinVideo setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return dv_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public DouyinVideo setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return dv_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public DouyinVideo setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取版本
     *
     * @return dv_version - 版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置版本
     *
     * @param version 版本
     */
    public DouyinVideo setVersion(Integer version) {
        this.version = version;
        return this;
    }

    /**
     * 获取点赞数
     *
     * @return dv_digg_count - 点赞数
     */
    public Integer getDiggCount() {
        return diggCount;
    }

    /**
     * 设置点赞数
     *
     * @param diggCount 点赞数
     */
    public DouyinVideo setDiggCount(Integer diggCount) {
        this.diggCount = diggCount;
        return this;
    }

    /**
     * 获取下载数
     *
     * @return dv_download_count - 下载数
     */
    public Integer getDownloadCount() {
        return downloadCount;
    }

    /**
     * 设置下载数
     *
     * @param downloadCount 下载数
     */
    public DouyinVideo setDownloadCount(Integer downloadCount) {
        this.downloadCount = downloadCount;
        return this;
    }

    /**
     * 获取播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     *
     * @return dv_play_count - 播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     */
    public Integer getPlayCount() {
        return playCount;
    }

    /**
     * 设置播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     *
     * @param playCount 播放数，只有作者本人可见。公开视频设为私密后，播放数也会返回0。
     */
    public DouyinVideo setPlayCount(Integer playCount) {
        this.playCount = playCount;
        return this;
    }

    /**
     * 获取分享数
     *
     * @return dv_share_count - 分享数
     */
    public Integer getShareCount() {
        return shareCount;
    }

    /**
     * 设置分享数
     *
     * @param shareCount 分享数
     */
    public DouyinVideo setShareCount(Integer shareCount) {
        this.shareCount = shareCount;
        return this;
    }

    /**
     * 获取转发数
     *
     * @return dv_forward_count - 转发数
     */
    public Integer getForwardCount() {
        return forwardCount;
    }

    /**
     * 设置转发数
     *
     * @param forwardCount 转发数
     */
    public DouyinVideo setForwardCount(Integer forwardCount) {
        this.forwardCount = forwardCount;
        return this;
    }

    /**
     * 获取评论数
     *
     * @return dv_comment_count - 评论数
     */
    public Integer getCommentCount() {
        return commentCount;
    }

    /**
     * 设置评论数
     *
     * @param commentCount 评论数
     */
    public DouyinVideo setCommentCount(Integer commentCount) {
        this.commentCount = commentCount;
        return this;
    }

    /**
     * 获取媒体类型
     *
     * @return dv_media_type - 媒体类型
     */
    public Integer getMediaType() {
        return mediaType;
    }

    /**
     * 设置媒体类型
     * 2:图集:image,4:视频:video
     *
     * @param mediaType 媒体类型
     */
    public DouyinVideo setMediaType(Integer mediaType) {
        this.mediaType = mediaType;
        return this;
    }

    /**
     * 获取视频id
     *
     * @return dv_item_id - 视频id
     */
    public String getItemId() {
        return itemId;
    }

    /**
     * 设置视频id
     *
     * @param itemId 视频id
     */
    public DouyinVideo setItemId(String itemId) {
        this.itemId = itemId == null ? null : itemId.trim();
        return this;
    }

    /**
     * 获取视频标题
     *
     * @return dv_title - 视频标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置视频标题
     *
     * @param title 视频标题
     */
    public DouyinVideo setTitle(String title) {
        this.title = title == null ? null : title.trim();
        return this;
    }

    /**
     * 获取视频封面
     *
     * @return dv_cover - 视频封面
     */
    public String getCover() {
        return cover;
    }

    /**
     * 设置视频封面
     *
     * @param cover 视频封面
     */
    public DouyinVideo setCover(String cover) {
        this.cover = cover == null ? null : cover.trim();
        return this;
    }

    /**
     * 获取是否置顶
     *
     * @return dv_top_flag - 是否置顶
     */
    public Integer getTopFlag() {
        return topFlag;
    }

    /**
     * 设置是否置顶
     * 1:置顶:top,0:未置顶:un_top
     *
     * @param topFlag 是否置顶
     */
    public DouyinVideo setTopFlag(Integer topFlag) {
        this.topFlag = topFlag;
        return this;
    }

    /**
     * 获取视频创建时间戳
     *
     * @return dv_video_create_time - 视频创建时间戳
     */
    public Date getVideoCreateTime() {
        return videoCreateTime;
    }

    /**
     * 设置视频创建时间戳
     *
     * @param videoCreateTime 视频创建时间戳
     */
    public DouyinVideo setVideoCreateTime(Date videoCreateTime) {
        this.videoCreateTime = videoCreateTime;
        return this;
    }

    /**
     * 获取表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     *
     * @return dv_reviewed_flag - 表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     */
    public Integer getReviewedFlag() {
        return reviewedFlag;
    }

    /**
     * 设置表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     * 0:未通过或审核中:n,1:审核通过:y
     *
     * @param reviewedFlag 表示是否审核结束。审核通过或者失败都会返回 true，审核中返回 false。
     */
    public DouyinVideo setReviewedFlag(Integer reviewedFlag) {
        this.reviewedFlag = reviewedFlag;
        return this;
    }

    /**
     * 获取表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     *
     * @return dv_video_status - 表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     */
    public Integer getVideoStatus() {
        return videoStatus;
    }

    /**
     * 设置表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     * 1:已发布:Published,2:不适宜公开:Not_Suitable,4:审核中:Under_Review
     *
     * @param videoStatus 表示视频状态。 1：已发布 2：不适宜公开 4：审核中
     */
    public DouyinVideo setVideoStatus(Integer videoStatus) {
        this.videoStatus = videoStatus;
        return this;
    }

    /**
     * 获取视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     *
     * @return dv_share_url - 视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     */
    public String getShareUrl() {
        return shareUrl;
    }

    /**
     * 设置视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     *
     * @param shareUrl 视频播放页面。视频播放页可能会失效，请在观看视频前调用/video/data/获取最新的播放页。
     */
    public DouyinVideo setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl == null ? null : shareUrl.trim();
        return this;
    }
}